package com.pi.pro.xcmg.am.common.vo.edi;

import com.fasterxml.jackson.annotation.JsonView;
import com.pi.framework.core.bean.PageResult;
import com.pi.framework.core.util.DateUtils;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.jpa.datatables.mapping.DataTablesOutput;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 *
 */
@Getter
@Setter
public class XwmsInventoryLineDto implements Serializable{

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String customercode;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String divisioncode;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String materialcode;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String materialname;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String materialspec;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String suppliercode;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String suppliername;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String wbsnumber;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal storageqty;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal storageqtyeach;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal palqty;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal palqtyeach;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal receiveqty;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal receiveqtyeach;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal workqty;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private BigDecimal workqtyeach;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String uomCode;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String uomName;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private Date lotattr01;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private Date lotattr02;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private Date lotattr03;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private Date lotattr04;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr05;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr06;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr07;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr08;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr09;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr10;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr11;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr12;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr13;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr14;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr15;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String lotattr16;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String locationcode;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String containernumber;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String tracenumber;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String receivetime;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String qcstatus;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf01;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf02;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf03;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf04;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf05;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf06;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf07;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf08;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf09;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String udf10;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String batchnumber;

    @JsonView({DataTablesOutput.View.class, PageResult.View.class})
    private String groupNumber;


    public String toString() {
        StringBuffer buf = new StringBuffer();
        buf.append("{");
        //
        buf.append("customercode:");
        if (this.customercode != null) {
            buf.append(this.customercode);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("divisioncode:");
        if (this.divisioncode != null) {
            buf.append(this.divisioncode);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("materialcode:");
        if (this.materialcode != null) {
            buf.append(this.materialcode);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("materialname:");
        if (this.materialname != null) {
            buf.append(this.materialname);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("materialspec:");
        if (this.materialspec != null) {
            buf.append(this.materialspec);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("suppliercode:");
        if (this.suppliercode != null) {
            buf.append(this.suppliercode);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("suppliername:");
        if (this.suppliername != null) {
            buf.append(this.suppliername);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("wbsnumber:");
        if (this.wbsnumber != null) {
            buf.append(this.wbsnumber);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("storageqty:");
        if (this.storageqty != null) {
            buf.append(this.storageqty.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("storageqtyeach:");
        if (this.storageqty != null) {
            buf.append(this.storageqtyeach.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("palqty:");
        if (this.palqty != null) {
            buf.append(this.palqty.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("palqtyeach:");
        if (this.palqtyeach != null) {
            buf.append(this.palqtyeach.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("receiveqty:");
        if (this.receiveqty != null) {
            buf.append(this.receiveqty.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("receiveqtyeach:");
        if (this.receiveqtyeach != null) {
            buf.append(this.receiveqtyeach.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("workqty:");
        if (this.workqty != null) {
            buf.append(this.workqty.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("workqtyeach:");
        if (this.workqtyeach != null) {
            buf.append(this.workqtyeach.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("uomCode:");
        if (this.uomCode != null) {
            buf.append(this.uomCode);
        } else {
            buf.append("");
        }
        //
        buf.append("uomName:");
        if (this.uomName != null) {
            buf.append(this.uomName);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr01:");
        if (this.lotattr01 != null) {
            buf.append(DateUtils.format(this.lotattr01, DateUtils.FORMAT_DATE_YYYY_MM_DD));
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr02:");
        if (this.lotattr02 != null) {
            buf.append(DateUtils.format(this.lotattr02, DateUtils.FORMAT_DATE_YYYY_MM_DD));
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr03:");
        if (this.lotattr03 != null) {
            buf.append(DateUtils.format(this.lotattr03, DateUtils.FORMAT_DATE_YYYY_MM_DD));
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr04:");
        if (this.lotattr04 != null) {
            buf.append(DateUtils.format(this.lotattr04, DateUtils.FORMAT_DATE_YYYY_MM_DD));
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr05:");
        if (this.lotattr05 != null) {
            buf.append(this.lotattr05);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr06:");
        if (this.lotattr06 != null) {
            buf.append(this.lotattr06);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr07:");
        if (this.lotattr07 != null) {
            buf.append(this.lotattr07);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr08:");
        if (this.lotattr08 != null) {
            buf.append(this.lotattr08);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr09:");
        if (this.lotattr09 != null) {
            buf.append(this.lotattr09);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr10:");
        if (this.lotattr10 != null) {
            buf.append(this.lotattr10);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr11:");
        if (this.lotattr11 != null) {
            buf.append(this.lotattr11);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr12:");
        if (this.lotattr12 != null) {
            buf.append(this.lotattr12);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr13:");
        if (this.lotattr13 != null) {
            buf.append(this.lotattr13);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr14:");
        if (this.lotattr14 != null) {
            buf.append(this.lotattr14);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr15:");
        if (this.lotattr15 != null) {
            buf.append(this.lotattr15);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("lotattr16:");
        if (this.lotattr16 != null) {
            buf.append(this.lotattr16);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("locationcode:");
        if (this.locationcode != null) {
            buf.append(this.locationcode);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("containernumber:");
        if (this.containernumber != null) {
            buf.append(this.containernumber);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("tracenumber:");
        if (this.tracenumber != null) {
            buf.append(this.tracenumber);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("receivetime:");
        if (this.receivetime != null) {
            buf.append(this.receivetime);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("qcstatus:");
        if (this.qcstatus != null) {
            buf.append(this.qcstatus);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf01:");
        if (this.udf01 != null) {
            buf.append(this.udf01);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf02:");
        if (this.udf02 != null) {
            buf.append(this.udf02);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf03:");
        if (this.udf03 != null) {
            buf.append(this.udf03);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf04:");
        if (this.udf04 != null) {
            buf.append(this.udf04);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf05:");
        if (this.udf05 != null) {
            buf.append(this.udf05);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf06:");
        if (this.udf06 != null) {
            buf.append(this.udf06);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf07:");
        if (this.udf07 != null) {
            buf.append(this.udf07);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf08:");
        if (this.udf08 != null) {
            buf.append(this.udf08);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf09;:");
        if (this.udf09 != null) {
            buf.append(this.udf09);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("udf10;:");
        if (this.udf10 != null) {
            buf.append(this.udf10);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("batchnumber:");
        if (this.batchnumber != null) {
            buf.append(this.batchnumber);
        } else {
            buf.append("");
        }
        buf.append("");

        buf.append("}");
        return buf.toString();
    }
}
